let 动物类 = {
    类型: '无脊椎动物',
    显示类型 () {
        console.log(this.类型);
    },
};

let 动物1 = Object.create(动物类);
动物1.显示类型();

console.log('----------------------');

let 对象 = {
    a: 7,
    get b() {
        return this.a + 1;
    },
    set b(x) {
        this.a = x / 2;
    },
};

console.log(对象.a);
console.log(对象.b);
对象.b = 50;
console.log(对象.a);

console.log('---------------------');

let 日期 = Date.prototype;
Object.defineProperty(日期, '年', {
    get: function() {
        return this.getFullYear();
    },
    set: function (年) {
        this.setFullYear(年);
    },
});
let 当前 = new Date();
console.log(当前.年);
当前.年 = 2001;
console.log(当前.年);

console.log('---------------------');

对象 = {a: 0};
Object.defineProperties(对象, {
    b: {
        get: function() {
            return this.a + 1;
        },
        set: function(x) {
            this.a = x / 2;
        },
    },
});
console.log(对象.a);
console.log(对象.b);
对象.b = 50;
console.log(对象.a);
console.log(对象.b);

console.log('-----------------');

对象 = new Object();
对象.a = 5;
对象.b = 12;
console.log(对象.a);
delete 对象.a;
console.log(对象.a);
